1. Field of the Invention
The present invention is related to an improved control system with an embedded microcomputer for an electric appliance. In particular, the present invention is related to an improved control system with an embedded microcomputer which makes it possible to facilitate procedures for maintenance and modification of the specification.
2. Prior Art
In the recent years, the architecture of an control system with an embedded microcomputer becomes significantly sophisticated, and therefore the system is frequently controlled by a specific control program, which has been usually referred to as a real-time OS.
The maintenance of an electric appliance, such as a copying machine, is performed by rewriting data stored in the memory of the system in many cases. Particularly, the target board of the system is connected with a terminal for maintenance through a network in order to download updated data to a flush memory for finishing desired modification of the system. This procedure makes it possible to significantly reduce the maintenance cost as compared with replacement of the target board of the system.
On the other hand, the data items which can be rewritten are limited to the items which are referred to by application software. This is because the modification tends to be sophisticated if the modification is exerted upon the operation of the system. Particularly, in the case of the use of a real-time OS, the modification of the specification of the system is fettered by complexity in terms of those other than the interfaces with applications.
This places obstacles in the way of making effective use of available software resources. Particularly, as compared with a real-time OS, the complexities of application software have been increased so that the total reliability of the system is endangered by complicated application software, resulting in substantial difficulties for maintenance.
The following description of the prior art technique is made in the case that the modification is exerted upon the operation of the system. First, it is assumed that the modification can be conducted only with application programs. As one of the exemplary cases, it is desired to change the order of a plurality of the application program modules which are switchingly running in turn under the control by the real-time OS. It is impossible to accomplish the desired modification by rewriting the data referred to by the application software because the order of the application program modules is defined within the real-time OS. Usually, the order of the application program modules is determined by the real-time OS in accordance with the property assigned to each of the application program modules. The property is stored in a control table of the real-time OS together with other control data so that, in this case, it is difficult to accomplish the desired modification by modifying the application program. In this case, the configuration information of the real-time OS is modified followed by re-building the system again.
Next, it is assumed that the modification can not be accomplished by the original specification of the real-time OS. For example, the modification of synchronization as provided by the real-time OS is one of such cases. Namely, as one of the exemplary cases, the modification is desired to synchronize a plurality of program modules for the system which has been designed to control the execution timing of a single program module.
There are generally two solutions for this case. One solution is to modify the behavior of the application program. Namely, the effective synchronization is established for a plurality of the modules by combining the execution timing of the respective program module. However, while this is effective in the case of a small scale application program, it becomes difficult to identify locations of the application program to be synchronized in the case of a large scale application program.
Another solution is to modify the real-time OS itself. In this case, it is required to re-build the entirety of the real-time OS so that the influence may possibly affect the operation of the system. Accordingly, it becomes difficult to maintain the reliability of the operation of the entire system. Anyway, the modification has to be conducted by an expert of the real-time OS and therefore this solution is not effective in practice.
Finally, it is assumed that a new additional function is needed for the application software. In this case, a new process which does not have existed before must be introduced so that it can not be realized by modifying existing data. The modification of this kind is provided as a version-up service rather than simple maintenance. Namely, the new process is introduced to the application software followed by re-building the system. In the actual case, the version-up service is conducted by replacing the target board with a new target board in which the new system is installed. The replacement of the hardware requires a number of steps incurring much labor cost in addition to the hardware cost.
On the other hand, the operational environments of the control system with an embedded microcomputers are connected to networks in many cases. It is therefore expected to accomplish version-up of the system by transferring a new module for implementing additional functions.
As detailedly explained in the above, a number of steps is required, if the modification can not be accomplished simply by changing data as stored, incurring much labor cost. Furthermore, to many software engineers, the maintenance process sometimes becomes knotty and troublesome.
Accordingly, in the case of the prior art, there are following shortcomings.
1) When the specification of the system is modified by changing the property of the application software, the target program has to be modified followed by re-building the system. This results in the increase in the maintenance cost while the maintenance service is conducted by replacing the target board with a new target board in which the new system (ROM) is installed, rather than by simply transferring a new module through a network.
2) When the desired modification is not supported by the current specification of the control system with an embedded microcomputer, the control program itself has to be modified. This means that the modification has to be conducted by an expert of the real-time OS resulting in complexity of the maintenance service, so that it is difficult to simplify the maintenance procedure. Also, this places obstacles in the way of making effective use of available software resources because availability of existing software is limited by the current specification of the control system with an embedded microcomputer.
3) In the case that a new function is added to the system, a new module for implementing the new function has to be inserted to the application program, followed by re-building the system, so that it is difficult to simplify the maintenance procedure.
The present invention has been made in order to solve the shortcomings as described above. It is an important object of the present invention to provide an improved control system with an embedded microcomputer which makes it possible to facilitate procedures for maintenance and modification of the specification and effectively use existing software resources.
In brief, the above and other objects and advantages of the present invention are provided by a new and improved control system with an embedded microcomputer for controlling an application program having a plurality of tasks under a real-time OS, said real-time OS comprising: an operation descriptor for storing control data for controlling the plurality of the tasks respectively; a kernel for controlling the operation of said control system as well as the plurality of the tasks with reference to the operation descriptor; and an interface provided for receiving data for modification of said control system and rewriting said operation descriptor in order to update said real-time OS.
Also, in accordance with a preferred embodiment of the present invention, said control data contains the priority levels given to the respective tasks.
Furthermore, in accordance with a preferred embodiment of the present invention, said operation descriptor stores a program module in addition to said control data.
Furthermore, in accordance with a preferred embodiment of the present invention, said program module is an additional function module.
Furthermore, in accordance with a preferred embodiment of the present invention, said kernel controls the operation of said control system and the plurality of the tasks with reference to said control data of said operation descriptor.
In accordance with another aspect of the present invention, a control system with an embedded microcomputer for controlling an application program under a real-time OS, said real-time OS comprising: a kernel for controlling the operation of said control system as well as the application program, wherein at least part of said kernel is configured to be replaced by a new module; an operation descriptor for storing the new module for said kernel; and an interface provided for receiving the new module for said kernel, saving the new module to said operation descriptor and transferring the new module for said kernel to said kernel in order to update said real-time OS.
Also, in accordance with a preferred embodiment of the present invention, said application program comprises a plurality of tasks controlled by the real-time OS.
Furthermore, in accordance with a preferred embodiment of the present invention, said operation descriptor stores a program module in addition to said control data.
Furthermore, in accordance with a preferred embodiment of the present invention, said program module is an additional function module.